import matplotlib.pyplot as plt
'''
matplotlib 框架分为三层，这三层构成了一个栈，上层可以调用下层，三层框架描述如下：

脚本层 (pyplot)：简化了完成数据分析与可视化的常规操作。 管理创建图形、坐标轴以及他们与后端层的连接。
艺术家层 (artist)：管理漂亮图形背后的大多数内部活动。
后端层 (backend)：matplotlib 的底层，实现了大量的抽象接口类；还和用户界面工具箱整合在一起；可以将图形保存为不同格式(比如PDF、PNG、PS和SVG等)。
绘图部分函数如下：

序号	绘图函数（plt.xxx）	说明	 
1	acorr()	绘制x的自相关图	 
 	2	angle_spectrum()	绘制角度谱图
3	bar()	制作条形图	 
4	barbs()	绘制倒钩的二维场图	 
5	barh()	制作水平条形图	 
6	boxplot()	制作一个盒子和胡须图	 
7	broken_barh()	绘制一个水平的矩形序列图	 
8	clabel()	绘制等高线图	 
9	cohere()	绘制x和y之间的一致性图	 
10	csd()	绘制交叉谱密度图	 
11	eventplot()	绘制相同的平行线	 
12	fill()	绘制填充多边形图	 
13	hexbin()	制作六边形分箱图	 
14	hist()	绘制直方图	 
15	hist2d()	制作2D直方图	 
16	magnitude_spectrum()	绘制幅度谱图	 
17	phase_spectrum()	绘制相位谱图	 
18	pie()	绘制饼图	 
19	plot()	绘制折线图	 
20	plot_date()	绘制包含日期的数据图	 
21	quiver()	绘制一个二维箭头场图	 
22	scatter()	绘制散点图	 
23	specgram()	绘制频谱图	 
24	stackplot()	绘制堆积区域图	 
25	streamplot()	绘制矢量流的流线型图	 
26	triplot()	绘制非结构化三角形网格作为线条图	 
方法二：面向对象式绘图
面向对象式的绘图，才是matplotlib绘图最自然的方式
'''
# 指定一个画板
# fig = plt.figure()
# # 指定画板后指定轴
# # ax = fig.add_subplot(111)
# ax1 = fig.add_subplot(221)
# ax2 = fig.add_subplot(222)
# ax3 = fig.add_subplot(224)
# ax4 = fig.add_subplot(223)
# # 设置轴的位置
# # ax.set(xlim=[0.5, 4.5], ylim=[-2, 8], title='An Example Axes',
# #        ylabel='Y-Axis', xlabel='X-Axis')
# plt.show()

# 模块 pyplot
'''
函数参数：

xdata:所有点的x坐标，如果不传默认是[0:]。
ydata:所有点的y坐标。
format:绘制的格式，默认是’b-‘。比如’b-+’：分别代表颜色、线形和标记。
颜色：绘制的颜色(b指blue,蓝色)。
线性：点之间的连线样式(-指实线)。
标记：点的风格(+为加号）。
'''
# 红色 --+ 划线
# plt.plot([1,2],[1,2],'r--+')
# plt.show()


x = (1,3,5,9,13)

y = (2,5,9,12,28)

# 调用绘制方法
# 设置线条属性
# linewidth属性设置线条的宽度
plt.plot(x,y,linewidth = 5)

# 显示图片
plt.show()

# 参考：https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html?highlight=matplotlib%20pyplot#module-matplotlib.pyplot